﻿using System.Runtime.Serialization;
using Newtonsoft.Json;

namespace Spikes.ActivityStreams
{
    /// <summary>
    /// An Activity Stream is a collection one or more individual activities.
    /// </summary>
    [JsonObject()]
    [DataContract]
    public class ActivityStream
    {
        /// <summary>
        /// An array containing a listing of Objects of any object type.
        /// </summary>
        [JsonProperty(PropertyName = "items")]
        [DataMember(Name = "items")]
        public Activity[] Items;

        /// <summary>
        /// Non-negative integer specifying the total number of activities within the stream.
        /// </summary>
        [JsonProperty(PropertyName = "totalItems")]
        [DataMember(Name = "totalItems")]
        public long TotalItems;

        /// <summary>
        /// An IRI referencing a JSON document containing the full listing of objects in the collection.
        /// </summary>
        [JsonProperty(PropertyName = "url")]
        [DataMember(Name = "url")]
        public string Url;
    }
}
